package com.yunhe.common.model.base;

import com.yunhe.common.model.authority.StationDTO;
import com.yunhe.common.model.device.DeviceDTO;

import java.util.List;

/**
 * 异常规则实例
 * @author liuronglei
 */
public class AlarmRuleInstanceDTO {
    private Long id;
    /**
     * 关联的异常规则
     */
    private AlarmRuleDTO alarmRule;
    /**
     * 公式
     */
    private String formula;
    /**
     * 公式中用于计算的点号
     */
    private List<Long> points;
    /**
     * 关联的点号
     */
    private List<Long> relatedPoints;
    /**
     * 适用电站
     */
    private StationDTO station;
    /**
     * 适用设备
     */
    private DeviceDTO device;
    /**
     * 所属电站ID
     */
    private Long stationId;
    /**
     * 关联异常规则ID
     */
    private Long relatedAlarmRuleId;
    /**
     * 关联电站ID
     */
    private Long relatedStationId;
    /**
     * 关联设备ID
     */
    private Long relatedDeviceId;
    /**
     * 虚拟告警点号，存储此告警实例是否产生告警
     */
    private Long virtualPointId;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public AlarmRuleDTO getAlarmRule() {
        return alarmRule;
    }

    public void setAlarmRule(AlarmRuleDTO alarmRule) {
        this.alarmRule = alarmRule;
    }

    public String getFormula() {
        return formula;
    }

    public void setFormula(String formula) {
        this.formula = formula;
    }

    public List<Long> getPoints() {
        return points;
    }

    public void setPoints(List<Long> points) {
        this.points = points;
    }

    public List<Long> getRelatedPoints() {
        return relatedPoints;
    }

    public void setRelatedPoints(List<Long> relatedPoints) {
        this.relatedPoints = relatedPoints;
    }

    public StationDTO getStation() {
        return station;
    }

    public void setStation(StationDTO station) {
        this.station = station;
    }

    public DeviceDTO getDevice() {
        return device;
    }

    public void setDevice(DeviceDTO device) {
        this.device = device;
    }

    public Long getStationId() {
        return stationId;
    }

    public void setStationId(Long stationId) {
        this.stationId = stationId;
    }

    public Long getRelatedAlarmRuleId() {
        return relatedAlarmRuleId;
    }

    public void setRelatedAlarmRuleId(Long relatedAlarmRuleId) {
        this.relatedAlarmRuleId = relatedAlarmRuleId;
    }

    public Long getRelatedStationId() {
        return relatedStationId;
    }

    public void setRelatedStationId(Long relatedStationId) {
        this.relatedStationId = relatedStationId;
    }

    public Long getRelatedDeviceId() {
        return relatedDeviceId;
    }

    public Long getVirtualPointId() {
        return virtualPointId;
    }

    public void setVirtualPointId(Long virtualPointId) {
        this.virtualPointId = virtualPointId;
    }
}